package com.yonyou.cloud.ops.mq.config;

import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;

@Configuration
public class RestTemplateConfig {
	
    @Bean(value="restTemplateWithLB")
    @LoadBalanced
    public RestTemplate restTemplateWithLB(ClientHttpRequestFactory factory) {
        return new RestTemplate(factory);  
    }
	
    @Bean(value="restTemplate")
    public RestTemplate restTemplate(ClientHttpRequestFactory factory){  
        return new RestTemplate(factory);  
    }  
      
    @Bean
    public ClientHttpRequestFactory simpleClientHttpRequestFactory(){  
        SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();  
        factory.setReadTimeout(5000);//ms  
        factory.setConnectTimeout(15000);//ms  
        return factory;  
    }
    
}
